<?php
class VipsController extends Zend_Controller_Action
{
	public function ajoutervipAction(){
		$form = new Form_Ajoutervip();
		
		if($this->getRequest()->isPost()){
			if($form->isValid($this->getRequest()->getPost())){
				$values = $form->getValues();
				$nom = $values["nom"];
				$prenom = $values["prenom"];
				$sexe = $values["sexe"];
				$dateNaiss = $values["date"];
				$nationnalite = $values["nationalite"];
				$texte = $values["commentaire"];
				$photo = $form->photo->getValue();
				$sujetpho = $values["Sujet"];
				$commentairepho = $values["commentaire_photo"];
				$job = $values["profession"];
				$mariagevip = $values["mariage"];
				$liaisonvip = $values["liaison"];
				
				//table vip
				$vips = new Table_Vips();
				$numlastvip =  $vips->insertVips($nationnalite, $nom, $prenom, $sexe, $dateNaiss, $texte);
				//table photo
				$uploadtrue = $form->photo->isUploaded();
				
				$table_photo = new Table_Photos();
				$adrpho = ($uploadtrue)?$photo:"imageIndisponible.jpg";
				$table_photo->insertPhotos(1, $numlastvip, $adrpho, $sujetpho, $commentairepho);
				
				//mariage
				if($mariagevip!=0){
					$datemariage = $values["date_mariage"];
					$lieumariage = $values["lieu_mariage"];
					$datefinmariage = $values["date_fin_mariage"];
					$motiffinmariage = $values["motif_fin_mariage"];
					
					$lieumariage = ($lieumariage!="")?$lieumariage:null;
					$datefinmariage = ($datefinmariage!="")?$datefinmariage:null;
					$motiffinmariage = ($motiffinmariage!="")?$motiffinmariage:null;
					
					$table_mariage = new Table_Mariages();
					$table_mariage->addMariage($mariagevip, $numlastvip, $lieumariage, $datemariage, $datefinmariage, $motiffinmariage);
				}
				
				//liaison
				if($liaisonvip!=0){
					$dateliaison = $values["date_liaison"];
					$motifliaison = $values["motif_liaison"];
					
					$motifliaison = ($motifliaison!="")?$motifliaison:null;
					
					$table_liaison = new Table_Liaisons();
					$table_liaison->addLiaison($liaisonvip, $numlastvip, $dateliaison, $motifliaison);
				}
				
				//ajout des professions
				foreach ($job as $profession){
					switch ($profession){
						case 1 : //acteur
							$datedebacteur = $values["speacteur"];
							$datedebacteur = ($datedebacteur!="")?$datedebacteur:null;
							$table_acteur = new Table_Acteurs();
							$table_acteur->addActeur($numlastvip, $datedebacteur);
							break;
						case 2 : //realisateur
							$table_realisateur = new Table_Realisateurs();
							$table_realisateur->addRealisateur($numlastvip);
							break;
						case 3 : //chanteur
							$spechant = $values["spechanteur"];
							$spechant = ($spechant!="")?$spechant:null;
							$table_chanteur = new Table_Chanteurs();
							$table_chanteur->addChanteur($numlastvip, $spechant);
							break;
						case 4 : //mannequin
							$taillemannequin = $values["spemannequin"];
							$taillemannequin = ($taillemannequin!="")?$taillemannequin:null;
							$table_mannequin = new Table_Mannequins();
							$table_mannequin->addMannequin($numlastvip, $taillemannequin);
							break;
						case 5 : //couturier
							$table_couturier = new Table_Couturiers();
							$table_couturier->addCouturier($numlastvip);
							break;
					}
				}
				
				$this->_redirect('/');
			}
		}
		$this->view->form = $form;
	}
	
	static function getAllNationnalitesAction(){
		$nat = new Table_Nationalites();
		return $nat->getAllNats();
	}
	
	static function gatAllVipsAction(){
		$vip = new Table_Vips();
		return $vip->getNomPrenomVips();
	}
	
	public function supprimervipAction(){
		$form = new Form_Supprimervip();

		
		if ($this->getRequest()->isPost()){
    		if ($form->isValid($this->getRequest()->getPost())){
    			$valeurs=$this->getRequest()->getPost();
    			$numvip = $valeurs["vip"];
    			
    			$composer = new Table_Composer();
    			$composer->deleteVip($numvip);
    			
    			$chanteur = new Table_Chanteurs();
    			$chanteur->deleteVip($numvip);
    			
    			$mariage = new Table_Mariages();
    			$mariage->deleteVip($numvip);
    			
    			$liaison = new Table_Liaisons();
    			$liaison->deleteVip($numvip);
    			
    			$apouragence = new Table_Apouragence();
    			$apouragence->deletevip($numvip);
    			
    			$defiledans = new Table_Defiledans();
    			$defiledans->deletevip($numvip);
    			
    			$mannequin = new Table_Mannequins();
    			$mannequin->deleteVip($numvip);
    			
    			$defile = new Table_Defile();
    			$defile->deleteVip($numvip);
    			
    			$couturier = new Table_Couturiers();
    			$couturier->deleteVip($numvip);
    			
    			$comporte = new Table_Comporte();
    			$comporte->deleteVip($numvip);
    			
    			$apoursujet = new Table_Apoursujet();
    			$apoursujet->deleteVip($numvip);
    			
    			$photos = new Table_Photos();
    			$listphotos = $photos->getPhotosByNumVip($numvip);
    			$endaddr = $photos->getPhoByNumVip($numvip, 1)->PHOTO_ADRESSE;
    			$fichier = 'images/photos/'.$endaddr;
    			$result = $photos->deletePhotos( 1, $numvip);
    			if ($endaddr!="imageIndisponible.jpg"){
	    			if(file_exists($fichier))
	     				unlink( $fichier ) ;
    			}
    			foreach ($listphotos as $photo){
    				$endaddr = $photos->getPhoByNumVip($numvip, $photo->PHOTO_NUMERO)->PHOTO_ADRESSE;
    				$fichier = 'images/photos/'.$endaddr;
    				$result = $photos->deletePhotos( $photo->PHOTO_NUMERO, $numvip);
    				if ($endaddr!="imageIndisponible.jpg"){
	    				if(file_exists($fichier))
	     					unlink( $fichier ) ;
    				}
    			}
    			//$photos->deleteVip($numvip);
    			
    			$joue = new Table_Joue();
    			$joue->deleteVip($numvip);
    			
    			
    			$film = new Table_Films();
    			$film->deleteVip($numvip);
    			
    			$realisateur = new Table_Realisateurs();
    			$realisateur->deleteVip($numvip);
    			
    			$acteur = new Table_Acteurs();
    			$acteur->deleteVip($numvip);
    			
    			
    			$vip = new Table_Vips();
    			$vip->deleteVip($numvip);
    			
    			$this->_redirect('/');
    			
    		}
    	}
		
		$this->view->form = $form;
	}
	
	public function modifiervipAction(){
		if(!isset($_SESSION['formnumvip'])){
			$_SESSION['formnumvip'] = 0;
		}
		$form = new Form_Modifiervip();
		$form2 = new Form_Modifiervip2();
		if ($this->getRequest()->isPost()){
    		if ($form->isValid($this->getRequest()->getPost())){
    			
    			$valeurs=$this->getRequest()->getPost();
    			if (isset($valeurs["submit"])){
	    			$numvip = $valeurs["nom"];
	    			$_SESSION['formnumvip'] = $numvip;
	    			$form2 = new Form_Modifiervip2();
	    			//$form = new Form_Modifiervip2();
	    			$this->view->form = $form2;
    			}
    			else{
    				//$values = $form->getValues();
    				$viptable = new Table_Vips();
    				$photable = new Table_Photos();
    				$numvip = $_SESSION['formnumvip'];
    				$viptable->updateVip($numvip, $valeurs["nationalite"], $valeurs["nom"], $valeurs["prenom"], $valeurs["sexe"], $valeurs["date"], $valeurs["commentaire"]);
    				$photo = $form2->photo->getValue();
    				$test=$form2->photo->isUploaded();
    				if($photo==NULL){
    					$ad="imageIndisponible.jpg";
    				}
    				else{
    					$ad=$photo;
    				}
					
    				$photable->updatePhoto(1, $numvip, $valeurs["Sujet"], $valeurs["commentaire_photo"], $ad);
    				$job = $valeurs["profession"];
    				$acteur=false;
    				$realisateur=false;
    				$chanteur=false;
    				$mannequin=false;
    				$couturier=false;
    				foreach ($job as $profession){
	    				switch ($profession){
							case 1 : //acteur
								$acteur=true;
								break;
							case 2 : //realisateur
								$realisateur=true;
								break;
							case 3 : //chanteur
								$chanteur=true;
								break;
							case 4 : //mannequin
								$mannequin=true;
								break;
							case 5 : //couturier
								$couturier=true;
								break;
						}
    				}
    				if($acteur==true)
    				{
    					$acteur = new Table_Acteurs();
    					if($acteur->isActeur($numvip)==NULL){
    						$acteur->addActeur($numvip, $valeurs["speacteur"]);
    					}
    					else{
    						$acteur->updateActeur($numvip, $valeurs["speacteur"]);
    					}
    				}
    				else{
		    			$joue = new Table_Joue();
		    			$joue->deleteVip($numvip);
		    			
		    			$acteur = new Table_Acteurs();
		    			$acteur->deleteVip($numvip);
    				}
    				if($realisateur==true)
    				{
    					$realisateur = new Table_Realisateurs();
    					if($realisateur->isRealisateur($numvip)==NULL){
    						$realisateur->addRealisateur($numvip);
    					}
    				}
    				else{
		    			
		    			$realisateur = new Table_Realisateurs();
		    			$realisateur->deleteVip($numvip);
    				}
    			    if($chanteur==true)
    				{
    					$chanteur = new Table_Chanteurs();
    					if($chanteur->isChanteur($numvip)==NULL){
    						$chanteur->addChanteur($numvip, $valeurs["spechanteur"]);
    					}
    					else{
    						$chanteur->updateChanteur($numvip, $valeurs["spechanteur"]);
    					}
    				}
    				else{
		    			$composer = new Table_Composer();
		    			$composer->deleteVip($numvip);
		    			
		    			$chanteur = new Table_Chanteurs();
		    			$chanteur->deleteVip($numvip);
    				}
    				if($mannequin==true)
    				{
    					$mannequin = new Table_Mannequins();
    					if($mannequin->isMannequin($numvip)==NULL){
    						$mannequin->addMannequin($numvip, $valeurs["spemannequin"]);
    					}
    					else{
    						$mannequin->updateMannequin($numvip, $valeurs["spemannequin"]);
    					}
    				}
    				else{
		    			$apouragence = new Table_Apouragence();
		    			$apouragence->deletevip($numvip);
		    			
		    			$defiledans = new Table_Defiledans();
		    			$defiledans->deletevip($numvip);
		    			
		    			$mannequin = new Table_Mannequins();
		    			$mannequin->deleteVip($numvip);
    				}
    				if($couturier==true)
    				{
    					$couturier = new Table_Couturiers();
    					if($couturier->isCouturier($numvip)==NULL){
    						$couturier->addCouturier($numvip);
    					}
    				}
    				else{
		    			$couturier = new Table_Couturiers();
		    			$couturier->deleteVip($numvip);
    				}
    				
    				if($valeurs["mariage"]==true)
    				{
    					$mariage = new Table_Mariages();
    					if($mariage->getMaByNum($numvip)==0){
    						$mariage->addMariage($numvip, $valeurs["mariage"], $valeurs["lieu_mariage"], $valeurs["date_mariage"], $valeurs["date_fin_mariage"], $valeurs["motif_fin_mariage"]);
    					}
    					else{
    						$mariage->deleteVip($numvip);
    						$mariage->addMariage($numvip, $valeurs["mariage"], $valeurs["lieu_mariage"], $valeurs["date_mariage"], $valeurs["date_fin_mariage"], $valeurs["motif_fin_mariage"]);
    						
    					}
    				}
    				else{
		    			$mariage = new Table_Mariages();
		    			$mariage->deleteVip($numvip);
    				}
    				
    				if($valeurs["liaison"]==true)
    				{
    					$liaison = new Table_Liaisons();
    					if($liaison->getLiByNum($numvip)==0){
    						$liaison->addLiaison($numvip, $valeurs["liaison"], $valeurs["date_liaison"], $valeurs["motif_liaison"]);
    					}
    					else{
    						$liaison->deleteVip($numvip);
    						$liaison->addLiaison($numvip, $valeurs["liaison"], $valeurs["date_liaison"], $valeurs["motif_liaison"]);
    						    						
    					}
    				}
    				else{
		    			$liaison = new Table_Liaisons();
		    			$liaison->deleteVip($numvip);
    				}
    				$this->_redirect('/');
    			}
    		}
		}
		else{
		$this->view->form = $form;
		}
}
	
	//fonctions pour les tests d'entr�e de l'ajout de base
}